package com.nexgo.payment.action.scan;

import com.nexgo.payment.BasePresenter;
import com.nexgo.payment.BaseView;

import java.util.HashMap;
import java.util.Map;

/**
 * 创建日期:2018/1/16 16:22
 * 创建人： wzp
 * @version
 * 修改人： wzp
 * 类说明;
 */
public interface BccScanContract {
    interface View extends BaseView<Presenter> {

        /**
         * 显示交易金额
         *
         * @param amount 金额
         */
        void showAmount(String amount);
        /**
         * 提示错误信息 如取消交易 或者 条码不服和要求
         *
         * @param message 描述信息
         */
        void showErrMsg(String message);

        /**
         * 提示扫码成功
         *
         * @param data 扫码数据
         */
        void showScanSuccessful(HashMap<String , String> data);

        /**
         * 界面状态
         *
         * @return
         */
        boolean isActive();
        /**
         * 界面状态
         *
         * @return
         */
        void showCountTime(int countTime);
        /**
         * 界面状态
         *
         * @return
         */
        void showScanCode();
    }

    interface Presenter extends BasePresenter {

        /**
         * 扫码完成后，返回界面状态恢复后调用
         */
//        void showOnScanNextAndRestart();

        Map<String, String> checkCodeData(String codeData);

        /**
         * 开始扫码
         */
        void onStartScanner();

        /**
         * 停止扫码
         */
        void onStopScanner();

        /**
         * 扫码返回信息码
         *
         * @param retCode 信息码
         */
        void onErrCode(int retCode);
        /**
         * 手输扫码
         *
         * @param codeData 信息码
         */
        void importScanCode(String codeData);

        void showOnScanNextAndRestart();
    }
}
